﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Content;


namespace DesertEagleQuest
{
    class GameObjects
    {

        #region Declaration 

        private Model ThisModel; 
        private GraphicsDevice graphicsDevice;
        public Vector3 Position;
        private float BoundingRadius;
        private string ItemCondition;
        public Vector3 Velocity;
        bool expired;

        #region Getter / Setter

        public Matrix World
        {
            get { return world; }
        }
        private Matrix world;
        
        public bool Expired
        {
            get { return expired; }
            set { expired = value; }
        }        

        public Vector3 GetPosition
        {
            get { return Position; }
        }

        public Vector3 GetVelocity
        {
            get { return Velocity; }
        }

        public Model GetModel
        {
            get { return ThisModel; }
        }

        public float GetBoundingRadius
        {
            get { return BoundingRadius; }
            set { BoundingRadius = value; }
        }

        public string GetItemCondition
        {
            get { return ItemCondition; }
            set { ItemCondition = value; }
        }
        #endregion 

        #endregion 

        #region Constructor

        public GameObjects(GraphicsDevice device,
                                Vector3 position,
                                Model model,
                                float boundingRadius, 
                                string itemCondition)
        {
            graphicsDevice = device;
            Position = position;
            Velocity = Vector3.Zero;
            ThisModel = model;
            ItemCondition = itemCondition; 

            BoundingRadius = boundingRadius; 
            expired = false; 
        }

        #endregion 

        #region Update
        
        public void Update(GameTime gameTime)
        {
            world = Matrix.Identity; 
            world.Translation = Position;
        
        }
        #endregion  
    
    }
}
